package ${package.Mapper};

import java.util.List;

<#list importMapperFrameworkPackages as pkg>
    import ${pkg};
</#list>
<#if importMapperJavaPackages?size !=0>

    <#list importMapperJavaPackages as pkg>
        import ${pkg};
    </#list>
</#if>
import ${package.Entity}.${entity};

/**
* <p>
    * ${table.comment!} Mapper 接口
    * </p>
*
* @author ${author}
* @since ${date}
*/
<#if mapperAnnotationClass??>
    @${mapperAnnotationClass.simpleName}
</#if>
<#if kotlin>
    interface ${table.mapperName} : ${superMapperClass}<${entity}> {
<#else>
    public interface ${table.mapperName} extends ${superMapperClass}<${entity}> {

    /**
    * 查询${table.comment!}列表
    *
    * @param ${entity?uncap_first} ${table.comment!}对象
    * @return ${table.comment!}集合
    */
    List<${entity}> select${entity}List(${entity} ${entity?uncap_first});

    /**
    * 通过ID查询${table.comment!}信息
    *
    * @param id ${table.comment!}ID
    * @return ${table.comment!}信息
    */
    ${entity} select${entity}ById(Long id);
    }
</#if>

<#list mapperMethodList as m>
    /**
    * generate by ${m.indexName}
    *
    <#list m.tableFieldList as f>
        * @param ${f.propertyName} ${f.comment}
    </#list>
    */
    ${m.method}
</#list>